package com.itheima.api.treeset.demo04;

import java.util.Scanner;
import java.util.TreeSet;

/**
 * 需求：键盘录入3个学生信息(姓名,语文成绩,数学成绩,英语成绩),按照总分从高到低输出到控制台。
 */
public class TreeSetDemo01 {

    /**
     * 1. 定义一个学生类，并且定义对应的成员变量(name , chineseScore , mathScore , englishScore),并且提供对应的get和set方法;为了方便对总分进行
     *    操作，在学习类中在提供一个getTotalScore的方法去获取总分
     * 2. 定义一个测试类
     * 3. 创建TreeSet集合对象(使用无参构造方法)
     * 4. 键盘录入3个学生信息，将学生信息添加到封装了学生对象中
     * 5. 将学生对象添加到集合中
     * 6. 遍历集合
     */
    public static void main(String[] args) {

        // 创建TreeSet集合对象(使用无参构造方法)
        TreeSet<Student> treeSet = new TreeSet<Student>() ;

        // 键盘录入3个学生信息，将学生信息添加到封装了学生对象中
        for( int x = 0 ; x < 3 ; x++) {

            Scanner scanner = new Scanner(System.in) ;

            System.out.println("请您录入第" + (x + 1) + "个学生的姓名：");
            String studetName = scanner.next();

            System.out.println("请您录入第" + (x + 1) + "个学生的语文成绩：");
            String chineseScoreStr = scanner.next();

            System.out.println("请您录入第" + (x + 1) + "个学生的数学成绩：");
            String mathScoreStr = scanner.next();

            System.out.println("请您录入第" + (x + 1) + "个学生的英语成绩: ");
            String englishScoreStr = scanner.next();

            // 把键盘录入的学生信息封装到学生对象
            Student s = new Student() ;
            s.setName(studetName);
            s.setChineseScore(Integer.parseInt(chineseScoreStr));
            s.setMathScore(Integer.parseInt(mathScoreStr));
            s.setEnglishScore(Integer.parseInt(englishScoreStr));

            // 把学生对象添加到集合中
            treeSet.add(s) ;

        }

        // 遍历集合
        for(Student s : treeSet) {
            System.out.println(s.getName() + "-----" + s.getTotal() + "----" + s.getChineseScore() + "----" + s.getMathScore() + "----" + s.getEnglishScore());
        }

    }
}









